package algorithm.sort;

import java.util.Arrays;

public class TestHelp {
    /**
     *  数组两个索引位置的数据交换
     * @param arr
     * @param i
     * @param j
     */
    public static void swap(int[] arr,int i,int j){
        int tmp = arr[i];
        arr[i] = arr[j];// 交换
        arr[j] = tmp;
    }

    public static long begin(){
        return System.nanoTime();
    }

    public static void end(long begin){
        double result = (System.nanoTime()-begin)/1000000.0;
        // 8.036E-4  10^-4   e指数意思  0.0001*8.036
        System.out.println("花费时间毫秒："+result);
    }

    /**
     * 随机数组
     * @param length
     * @return
     */
    public static int[] random(int length){
        int[] arr= new int[length];
        for (int i = 0; i < length; i++) {
            arr[i] = (int)(Math.random()*length);
        }
        return arr;
    }
    /**
     * 随机数组
     * @param length
     * @return
     */
    public static int[] random(int length,boolean hasOrder){
        if(!hasOrder){
            return random(length);
        }else{
            int[] arr= new int[length];
            for (int i = 0; i < length; i++) {
                arr[i] = i;
            }
            return arr;
        }
    }

    /**
     * 打印，超过四十个元素不打印
     * @param arr
     */
    public static void print(int[] arr){
        if(arr.length > 40){

            return;
        }
        System.out.println(Arrays.toString(arr));
    }

    /**
     * 打印
     * @param descr
     * @param arr
     */
    public static void print(String descr,int[] arr){
        if(arr.length > 40){

            return;
        }
        System.out.println(descr+":"+Arrays.toString(arr));
    }

    /**
     * 打印
     * @param descr
     * @param i
     */
    public static void print(String descr,int i){

        System.out.println(descr+":"+i);
    }
}
